package com.wonder.app.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Description:TODO(生产入库单详情实体类)
 *
 * @author: Wonder
 *
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_prd_instock_detail")
@ApiModel(value="t_prd_instock_detail", description="生产入库单")

public class PrdInstockDetail extends Model<PrdInstockDetail> {

    @TableId(value ="Id", type = IdType.AUTO)
    @ApiModelProperty(name = "Id" , value = "主键")
    private Long Id;

    @TableField(value = "FBILLNO")
    @ApiModelProperty(name = "FBILLNO" , value = "单据编号")
    private String FBILLNO;

    @TableField(value = "FMATERIALNUMBER")
    @ApiModelProperty(name = "FMATERIALNUMBER" , value = "物料编码")
    private String FMATERIALNUMBER;

    @TableField(value = "FMATERIALNAME")
    @ApiModelProperty(name = "FMATERIALNAME" , value = "物料名称")
    private String FMATERIALNAME;

    @TableField(value = "FSPECIFICATION")
    @ApiModelProperty(name = "FSPECIFICATION" , value = "规格型号")
    private String FSPECIFICATION;

    @TableField(value = "FUNITID")
    @ApiModelProperty(name = "FUNITID" , value = "单位内码")
    private String FUNITID;

    @TableField(value = "FUNITNAME")
    @ApiModelProperty(name = "FUNITNAME" , value = "单位名称")
    private String FUNITNAME;

    @TableField(value = "FSTOCKNUMBER")
    @ApiModelProperty(name = "FSTOCKNUMBER" , value = "仓库编码")
    private String FSTOCKNUMBER;

    @TableField(value = "FSTOCKNAME")
    @ApiModelProperty(name = "FSTOCKNAME" , value = "仓库名称")
    private String FSTOCKNAME;

    @TableField(value = "FLOCATIONNUMBER")
    @ApiModelProperty(name = "FLOCATIONNUMBER" , value = "仓位编码")
    private String FLOCATIONNUMBER;

    @TableField(value = "FLOCATIONNAME")
    @ApiModelProperty(name = "FLOCATIONNAME" , value = "仓位名称")
    private String FLOCATIONNAME;

    @TableField(value = "FLOCATIONID")
    @ApiModelProperty(name = "FLOCATIONID" , value = "仓位内码")
    private Integer FLOCATIONID;

    @TableField(value = "FLOT")
    @ApiModelProperty(name = "FLOT" , value = "批号，判断物料是否启用，如果启用默认999")
    private String FLOT;


    @TableField(value = "FMUSTQTY")
    @ApiModelProperty(name = "FMUSTQTY" , value = "应收数量")
    private Double FMUSTQTY;

    @TableField(value = "FREALQTY")
    @ApiModelProperty(name = "FREALQTY" , value = "实收数量")
    private Double FREALQTY;

    @TableField(value = "FCONNPPBOM")
    @ApiModelProperty(name = "FCONNPPBOM" , value = "用料清单关联行(用料清单主键)")
    private Long FCONNPPBOM;

    @TableField(value = "UNQUALITYQTY")
    @ApiModelProperty(name = "UNQUALITYQTY" , value = "质检不合格数量")
    private Double UNQUALITYQTY;

    @TableField(value = "OUTUNQUALITYQTY")
    @ApiModelProperty(name = "OUTUNQUALITYQTY" , value = "外协不合格数量")
    private Double OUTUNQUALITYQTY;

    @TableField(value = "FAILQTY")
    @ApiModelProperty(name = "FAILQTY" , value = "废料数量合计")
    private Double FAILQTY;

    @TableField(exist = false)
    @ApiModelProperty(name = "isLocation" , value = "是否启用仓位")
    private Boolean isLocation;

    @TableField(exist = false)
    @ApiModelProperty(name = "locationList" , value = "仓库向下的仓位集合")
    private List<String> locationList;

    @TableField(exist = false)
    @ApiModelProperty(name = "stockList" , value = "仓库集合")
    private List<Map<String,Object>> stockList;

    @TableField(value = "SOURCENO")
    @ApiModelProperty(name = "SOURCENO" , value = "来源单号,关联合托的原入库单号")
    private String SOURCENO;

}
